QMenu子菜单 |
您所在的位置:网站首页 › qmenu 遍历 › QMenu子菜单 |
qmenu的显示与隐藏使用 m_pmenu_multinet->menuAction()->setVisible(false); 直接用m_pmenu_multinet->setVisible(false); 或者 m_pmenu_multinet->hide() 是没有效果的。 m_pmenu_multinet = new QMenu(QString::fromLocal8Bit("多网切换"),m_menu); m_pmenu_multinet->setIcon(QIcon(":/icon/menu_log.png")); m_menu->addMenu(m_pmenu_multinet);
void SystemTray::slot_multinet(QStringList strInfo) { if(strInfo.empty()) { m_pmenu_multinet->clear(); m_pmenu_multinet->menuAction()->setVisible(false); return; } m_pmenu_multinet->clear(); QList ListAct; QList::iterator it = strInfo.begin(); for(;it !=strInfo.end();it++){ QAction* act = new QAction(*it,m_pmenu_multinet); act->setObjectName(*it); connect(act, SIGNAL(triggered()), this, SLOT(slot_multinetActionClicked())); ListAct.push_back(act); } m_pmenu_multinet->addActions(ListAct); m_pmenu_multinet->menuAction()->setVisible(true); }
void SystemTray::slot_multinetActionClicked() { QString str = this->sender()->objectName(); //QObject *object = QObject::sender(); //QPushButton *push_button = qobject_cast(object); CMutiNetDlg dlg(str,this); dlg.exec(); } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |